package com.example.mybatis.plus.model.dto;

import com.example.mybatis.plus.entity.IdApp;
import io.swagger.annotations.ApiModelProperty;

import java.util.Objects;

public class IdAppDTO extends IdApp {
    private Long segmentId;
    @ApiModelProperty("开始id，仅记录初始值，无其他含义。初始化时start_id和max_id应相同")
    private Long startId;

    @ApiModelProperty("当前最大id")
    private Long maxId;

    @ApiModelProperty("步长")
    private Integer step;

    public Long getSegmentId() {
        return segmentId;
    }

    public void setSegmentId(Long segmentId) {
        this.segmentId = segmentId;
    }

    public Long getStartId() {
        return startId;
    }

    public void setStartId(Long startId) {
        this.startId = startId;
    }

    public Long getMaxId() {
        return maxId;
    }

    public void setMaxId(Long maxId) {
        this.maxId = maxId;
    }

    public Integer getStep() {
        return step;
    }

    public void setStep(Integer step) {
        this.step = step;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof IdAppDTO)) return false;
        IdAppDTO idAppDTO = (IdAppDTO) o;
        return Objects.equals(getSegmentId(), idAppDTO.getSegmentId()) && Objects.equals(getStartId(), idAppDTO.getStartId()) && Objects.equals(getMaxId(), idAppDTO.getMaxId()) && Objects.equals(getStep(), idAppDTO.getStep());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getSegmentId(), getStartId(), getMaxId(), getStep());
    }
}
